
// Fullscreen Quad.
// Vertex shader.
//------------------------------------------

// Typedefs.
//------------------------------------------
struct Vertex
{
    float4 position : POSITION;
	float2 uv       : TEXCOORD0;
};

struct Pixel
{
    float4 position : SV_POSITION;
	float2 uv       : TEXCOORD0;
};

Pixel Main(uint id : SV_VertexID){

	Pixel output;
	
	output.uv = float2((id << 1) & 2, id & 2);
	output.position = float4(output.uv * float2(2.0f, -2.0f) + float2(-1.0f, 1.0f), 0.0f, 1.0f);
	
	return output;
}